package xyj.sparrow.scheduler.cron;

import java.util.Comparator;

/**
 * cron比较
 *
 * @author 江南小俊
 * @since 2021/06/14
 */
public class CronComparator implements Comparator<Cron> {

    @Override
    public int compare(Cron cronA, Cron cronB) {
        if (cronA.getCronExpression() == null || cronB.getCronExpression() == null) return 0;
        if (cronA.getCronExpression().getNextExecutionTime().before(cronB.getCronExpression().getNextExecutionTime())) {
            return -1;
        } else if (cronA.getCronExpression().getNextExecutionTime().after(cronB.getCronExpression().getNextExecutionTime())) {
            return 1;
        }
        return cronA.equals(cronB) ? 0 : 1;
    }
}
